package collection;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * 数组转换为list集合
 * 数组的工具类Arrays提供了一个静态方法asList,可以将一个数组转换为List集合
 */
public class ArrayToListDemo {
    public static void main(String[] args) {
        String[] array = {"one","two","three","four","five"};
        System.out.println("array:"+ Arrays.toString(array));

        List<String> list = Arrays.asList(array);
        System.out.println("list:"+list);
        //注意：对集合的操作就是对源数组的操作
        list.set(1,"six"); //此时数组第二个元素也被改为了six
        System.out.println("list:"+list);
        System.out.println("array"+ Arrays.toString(array));

        //Unsupported:不支持 Operation:操作
        //会影响数组长度的操作对于该集合而言都是不支持的操作，会抛出异常：ava.lang..UnsupportedOperationException
//        list.add("seven");
//        System.out.println("list:"+list);
//        System.out.println("array"+ Arrays.toString(array));

        //如果希望增删元素，需要自行创建一个集合并包含数组转换出来集合中的所有元素即可
//        List<String> list2 = new ArrayList<>();
//        list2.addAll(list);
        List<String> list2 = new ArrayList<>(list);
        list2.add("seven");
        System.out.println("list2:"+list2); //list2:[one, six, three, four, five, seven]

    }
}


















